import store from "@/store";
import constant from '@/constant/constant.js' // 常量
// 页面白名单
const whiteList = [
	'/pages/login/login',
	'/pages/login/agreement'
]

let jump_path=constant.StorageName.APP_LOGIN_PATH
function hasPermission(url) {
	let token = uni.getStorageSync('token');
	let phone = uni.getStorageSync(constant.StorageName.APP_USER_INFO).phone;
	// 在白名单中或有token，直接跳转
	if (whiteList.indexOf(url) !== -1 || phone) {
		return true
	}
	return false
}

uni.addInterceptor('navigateTo', {
	// 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
	invoke(e) {
		if (!hasPermission(e.url)) {
			uni.reLaunch({
				url:jump_path
			})
			return false
		}
		return true
	},
	success(e) {}
})

uni.addInterceptor('switchTab', {
	// tabbar页面跳转前进行拦截
	invoke(e) {
		if (!hasPermission(e.url)) {
			uni.reLaunch({
				url:jump_path
			})
			return false
		}
		return true
	},
	success(e) {}
})
uni.addInterceptor('reLaunch', {
	// 关闭所有页面，打开到应用内的某个页面。
	invoke(e) {
		if (!hasPermission(e.url)) {
			uni.reLaunch({
				url:jump_path
			})
			return false
		}
		return true
	},
	success(e) {}
})
uni.addInterceptor('redirectTo', {
	// 关闭当前页面，跳转到应用内的某个页面。
	invoke(e) {
		if (!hasPermission(e.url)) {
			uni.reLaunch({
				url:jump_path
			})
			return false
		}
		return true
	},
	success(e) {}
})
